package Terminal.TechnicalServices.Mapper;

import Terminal.Entity.Dominio.ENoImposteCalcolo;
import Terminal.Entity.Dominio.ERegola;
import Terminal.Entity.IceClasses.ENoImposteCalcoloI;
import Terminal.Entity.IceClasses.ERegolaI;

public class MNoImposteCalcolo implements Mapper {

	@Override
	public ENoImposteCalcoloI getIceObj(Object hibObj) {

		ENoImposteCalcoloI iceNoImposteCalcolo = null;
		Mapper regolaMapper = new MapperFactory().getMapper(new ERegolaI());
		
		if ( hibObj instanceof ENoImposteCalcolo)
		{
			iceNoImposteCalcolo = new ENoImposteCalcoloI();
			
			for(ERegola hibRegola: ((ENoImposteCalcolo) hibObj).getRegole() )
				iceNoImposteCalcolo.regole.add( (EntityCondivise.ERegola) regolaMapper.getIceObj(hibRegola) );
		}
		
		return iceNoImposteCalcolo;
	}

	@Override
	public ENoImposteCalcolo getHibObj(Object iceObj) {

		ENoImposteCalcolo hibNoImposteCalcolo = null;
		Mapper regolaMapper = new MapperFactory().getMapper(new ERegolaI());		
		
		if ( iceObj instanceof ENoImposteCalcoloI)
		{
			hibNoImposteCalcolo = new ENoImposteCalcolo();
			
			for(EntityCondivise.ERegola iceRegola: ((ENoImposteCalcoloI) iceObj).regole)
				hibNoImposteCalcolo.getRegole().add( (ERegola) regolaMapper.getHibObj(iceRegola) );		
		}
		
		return hibNoImposteCalcolo;
		
	}

}
